Automatic calibration of on-vehicle weight scales

ABSTRACT

Systems and methods for calibrating an onboard vehicle scale may include disposing a vehicle upon a reference scale; determining reference weight information corresponding to a weight of at least a portion of the vehicle using the reference scale; automatically and wirelessly communicating the reference weight information to an onboard scale coupled to the vehicle; and automatically calibrating the onboard scale using the reference weight information.

CROSS-REFERENCES

This application is a divisional of U.S. patent application Ser. No.15/436,549, filed Feb. 17, 2017, which claims the benefit of U.S.Provisional Patent Application Ser. No. 62/296,424, filed Feb. 17, 2016.The complete disclosures of the above application are herebyincorporated by reference for all purposes. The complete disclosure ofthe following related application is also hereby incorporated for allpurposes: U.S. Patent Application Publication No. 2012/0046908.

FIELD

This disclosure relates to systems and methods for determining theweight of a vehicle. More specifically, the disclosed embodiments relateto calibrating onboard scales for vehicles used, for example, in theshipping industry.

SUMMARY

The present disclosure provides systems, apparatuses, and methodsrelating to calibration of onboard vehicle scales. In some embodiments,an automatic calibration system for an onboard vehicle weighing systemmay comprise: a scale coupled to a vehicle, such that the scale travelswith the vehicle, the scale configured to determine a sensed weight of aportion of the vehicle; a wireless transceiver onboard the vehicle andin communication with the scale; and an onboard controller incommunication with the scale and the wireless transceiver, thecontroller including a processor, a memory, and a plurality ofinstructions stored in the memory and executable by the processor to:receive the sensed weight of the portion of the vehicle from the scale;receive reference information from an offboard source via the wirelesstransceiver, wherein the reference information corresponds to a groundweight of the portion of the vehicle; and automatically calibrate thescale using the reference information, such that the scale is configuredto convert the sensed weight to the ground weight.

In some embodiments, a method implemented in a data processing systemfor calibrating an onboard vehicle scale may comprise: receiving, into adata processing system, a sensed weight of a portion of a vehicle from afirst scale; receiving, into the data processing system, referenceinformation from an offboard source via a wireless transceiver, whereinthe reference information corresponds to a ground weight of the portionof the vehicle; and automatically calibrating the scale with respect tothe reference information, using a processor of the data processingsystem, such that the scale is configured to convert the sensed weightto the ground weight.

In some embodiments, a method for calibrating an onboard vehicle scale,the method comprising: disposing a vehicle upon a reference scale;determining reference weight information corresponding to a weight of atleast a portion of the vehicle using the reference scale; automaticallyand wirelessly communicating the reference weight information to anonboard scale coupled to the vehicle; and automatically calibrating theonboard scale using the reference weight information.

Features, functions, and advantages may be achieved independently invarious embodiments of the present disclosure, or may be combined in yetother embodiments, further details of which can be seen with referenceto the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of an illustrative scale calibrationsystem in accordance with aspects of the present disclosure.

FIG. 2 is a flow chart depicting steps of an illustrative method forcalibrating an onboard weight scale in accordance with aspects of thepresent disclosure.

FIG. 3 is a schematic diagram of various components of an illustrativedata processing system.

FIG. 4 is a schematic representation of an illustrative computer networksystem.

DESCRIPTION Definitions

The following definitions apply herein, unless otherwise indicated.

“Substantially” means to be essentially conforming to the particulardimension, range, shape, concept, or other aspect modified by the term,such that a feature or component need not conform exactly. For example,a “substantially cylindrical” object means that the object resembles acylinder, but may have one or more deviations from a true cylinder.

“Comprising,” “including,” and “having” (and conjugations thereof) areused interchangeably to mean including, but not necessarily limited to,and are open-ended terms not intended to exclude additional, unrecitedelements or method steps.

Terms such as “first”, “second”, and “third” are used to distinguish oridentify various members of a group, or the like, and are not intendedto show serial or numerical limitation.

Terms such as “onboard” and “offboard” (and the like) are intended to beunderstood in the context of a host vehicle on which systems describedherein may be mounted or otherwise attached. For example, “offboard” mayindicate a status or location that is not on the vehicle, external thevehicle, and/or a direction that is away from the vehicle.

Overview

Existing calibration systems for onboard vehicle weighing systems, whichinclude one or more onboard weight scales, can be inefficient and proneto transcription errors and other user errors. Calibration systems ofthe present teachings remedy this shortcoming by automaticallycommunicating reference weight data to the onboard scale(s) and by usingthat reference data to automatically calibrate the scale(s).

Various embodiments of an automatic scale calibration system, as well asrelated methods, are described below and illustrated in the associateddrawings. Unless otherwise specified, an automatic scale calibrationsystem and/or its various components may contain at least one of thestructure, components, functionality, and/or variations described,illustrated, and/or incorporated herein. Furthermore, the process steps,structures, components, functionalities, and/or variations described,illustrated, and/or incorporated herein in connection with the presentteachings may be included in other similar systems and alternateembodiments. The following description of various embodiments is merelyexemplary in nature and is in no way intended to limit the disclosure,its application, or uses. Additionally, the advantages provided by theembodiments, as described below, are illustrative in nature and not allembodiments provide the same advantages or the same degree ofadvantages.

In general, an automatic scale calibration system in accordance withaspects of the present disclosure may include one or more onboard scalescoupled to a vehicle or portion of a vehicle, one or more ground-basedscales for weighing such a vehicle, and a data exchange systemconfigured to wirelessly and automatically facilitate calibration of theone or more onboard scales. Automatic scale calibration system inaccordance with aspects of the present disclosure may be especiallysuitable for use, for example, with tractor-trailer rigs.

Aspects of the automatic scale calibration system described herein maybe embodied as a computer method, computer system, or computer programproduct. Accordingly, aspects of the automatic scale calibration systemmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,and the like), or an embodiment combining software and hardware aspects,all of which may generally be referred to herein as a “circuit,”“module,” or “system.” Furthermore, aspects of the automatic scalecalibration system may take the form of a computer program productembodied in a computer-readable medium (or media) havingcomputer-readable program code/instructions embodied thereon.

Any combination of computer-readable media may be utilized.Computer-readable media can be a computer-readable signal medium and/ora computer-readable storage medium. A computer-readable storage mediummay include an electronic, magnetic, optical, electromagnetic, infrared,and/or semiconductor system, apparatus, or device, or any suitablecombination of these. More specific examples of a computer-readablestorage medium may include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, and/or any suitable combination ofthese and/or the like. In the context of this disclosure, acomputer-readable storage medium may include any suitable tangiblemedium that can contain or store a program for use by or in connectionwith an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including electro-magnetic, optical, and/orany suitable combination thereof. A computer-readable signal medium mayinclude any computer-readable medium that is not a computer-readablestorage medium and that is capable of communicating, propagating, ortransporting a program for use by or in connection with an instructionexecution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including wireless, wireline, opticalfiber cable, RF, and/or the like, and/or any suitable combination ofthese.

Computer program code for carrying out operations for aspects of theautomatic scale calibration system may be written in one or anycombination of programming languages, including an object-orientedprogramming language such as Java, Smalltalk, C++, and/or the like, andconventional procedural programming languages, such as C. Mobile appsmay be developed using any suitable language, including those previouslymentioned, as well as Objective-C, Swift, C #, HTML5, and the like. Theprogram code may execute entirely on a user's computer, partly on theuser's computer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer, or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), and/or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the automatic scale calibration system are described belowwith reference to flowchart illustrations and/or block diagrams ofmethods, apparatuses, systems, and/or computer program products. Eachblock and/or combination of blocks in a flowchart and/or block diagrammay be implemented by computer program instructions. The computerprogram instructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions can also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, and/or other device to function in aparticular manner, such that the instructions stored in thecomputer-readable medium produce an article of manufacture includinginstructions which implement the function/act specified in the flowchartand/or block diagram block or blocks.

The computer program instructions can also be loaded onto a computer,other programmable data processing apparatus, and/or other device tocause a series of operational steps to be performed on the device toproduce a computer-implemented process such that the instructions whichexecute on the computer or other programmable apparatus provideprocesses for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

Any flowchart and/or block diagram in the drawings is intended toillustrate the architecture, functionality, and/or operation of possibleimplementations of systems, methods, and computer program productsaccording to aspects of the automatic scale calibration system. In thisregard, each block may represent a module, segment, or portion of code,which comprises one or more executable instructions for implementing thespecified logical function(s). In some implementations, the functionsnoted in the block may occur out of the order noted in the drawings. Forexample, two blocks shown in succession may, in fact, be executedsubstantially concurrently, or the blocks may sometimes be executed inthe reverse order, depending upon the functionality involved. Each blockand/or combination of blocks may be implemented by special purposehardware-based systems (or combinations of special purpose hardware andcomputer instructions) that perform the specified functions or acts.

Examples, Components, and Alternatives

The following sections describe selected aspects of exemplary automaticscale calibration systems as well as related systems and/or methods. Theexamples in these sections are intended for illustration and should notbe interpreted as limiting the entire scope of the present disclosure.Each section may include one or more distinct examples, and/orcontextual or related information, function, and/or structure.

Illustrative Embodiment

As shown in FIG. 1, this section describes an illustrative automaticcalibration system 100 for onboard vehicle scales. System 100 is anexample of the automatic scale calibration system described generallyabove.

As depicted in the schematic diagram of FIG. 1, system 100 may include avehicle 102, an in-ground scale 104 (also referred to as a referencescale and/or a ground-based scale and/or an offboard source of referenceweight information), and a data exchange system 106. Vehicle 102 mayinclude any suitable vehicle used to transport cargo over the road, suchas a tractor-trailer. For example, as shown in FIG. 1, vehicle 102 mayinclude a tractor portion 108 and a trailer portion 110.

Vehicle 102 includes an onboard vehicle weight monitoring system 112,which may comprise one or more onboard scales 114, 116 installed on thevehicle. Scales 114 and 116 may be digital, having a human-readabledisplay and control circuitry, which may include a data processingsystem (see below). Each scale may include any suitable electronicdevice configured to determine a weight of at least an associatedportion of the vehicle, based on readings from one or more sensorscoupled to or part of the scale. An example of a digital scale suitablefor use in system 100 is the E-Z Weigh exterior Bluetooth digital loadscale, sold by Right Weigh, Inc., under model number 201-EBT-01B.

Each onboard scale may be associated with a specific portion of thevehicle, such as a certain axle. For example, scale 114 may beoperatively connected to the suspension system of one or more axles oftractor portion 108, while scale 116 may be operatively connected to thesuspension system of one or more axles of trailer portion 110. Onboardscales may include one or more sensors coupled to the suspension systemand/or axle(s) of the vehicle. Such sensors may include load cells,resistance sensors, air pressure sensors, deflection-type sensors,and/or the like, or any combination of these. Suitable examples ofsensors and sensing systems are described, for example, in U.S. PatentApplication Publication No. 2012/0046908.

In-ground scale 104 may include any suitable device configured to weighvehicles placed thereon, at a fixed geographical location. In-groundscales are often found at industrial sites, such as gravel pits andlandfills, and at state-run compliance sites, such as roadside weighstations. In-ground scales are typically calibrated independently, andcertified or otherwise traceable to governmental standards. In someexamples, as depicted in FIG. 1, scale 104 may include multiple portionsor pads, such as a forward portion 118, a middle portion 120, and one ormore rear portions 122 (also referred to as forward/middle/rear scalepads). Each scale portion may be configured to determine a weightrelated to a corresponding portion of tractor-trailer 102. For example,forward portion 118 may weigh the steering axle of tractor portion 108,middle portion 120 may weigh the drive axle of tractor portion 108, andrear portion 122 may weigh the axle(s) of trailer portion 110. More orfewer scale portions may be present. Weight-related data may be outputfrom sensors in each portion of the scale.

In-ground scale 104 may include a central controller or data processor124 configured to receive the weight-related outputs from scale portions118, 120, 122, and to determine the various weights related totractor-trailer 102 based on those readings. Controller 124 may belocated remotely with respect to the scale pads, such as in a nearbypersonnel shelter.

Data exchange system 106 includes communication units associated witheach of the onboard scales and the in-ground scale, as well as logicalalgorithms for transferring information and calibrating the onboardscale(s). For example, a first wireless transceiver 126 may be coupledto onboard scale 114, and a second wireless transceiver 128 may becoupled to onboard scale 116. A substantially similar wirelesstransceiver unit or module 130 may be coupled to in-ground scale 104.Communication to and from transceivers 126, 128, 130 may be wireless,e.g., using a BLUETOOTH® protocol or WiFi networking.

Data exchange system 106 may further include one or more control modules132A, 132B (also referred to as controllers), which may be present ontractor-trailer 102 and/or in-ground scale 104. Modules 132A and 132Bmay be disposed completely on the vehicle, completely on the in-groundscale, partially on each, and/or partially on a third networked system(e.g., in the cloud). Collectively, modules 132A and 132B includelogical algorithms configured to communicate the weight(s) determined bythe in-ground scale to the onboard scale(s). Once received by theonboard scale(s), the weight information from the in-ground scale may beutilized to adjust or calibrate the onboard scales. In other words, theonboard scales may be altered to match or at least correspond to thein-ground scale data. Because communication is electronic and theonboard scales are digital in nature, such a calibration can be carriedout automatically, e.g., with the push of a button or initiation of acommand. In some examples, one or more aspects of data exchange system106 may be implemented in mobile electronic devices, such as smarttablets or smart phones.

In some examples, a scale calibration system may include a vehicleequipped with an on-vehicle weight scale that is capable of wirelessdata transmission, and a reference scale that is also capable ofwireless data transmission. The on-vehicle scale will receive referenceweight data from the reference scale, and will update the on-vehicleweight calibration data.

In some examples, the reference scale system can request the weightmeasured by the on-vehicle scale before sending a new reference weightdata to the on-vehicle system. The data existing prior to calibrationcan then be stored locally or transmitted in real-time to a centralprocessing system for use in various maintenance activities.

In some examples, both the reference system and the on-vehicle scalehave unique system identification tags. This may allow both systems totrack the vehicle or reference system that was used during thecalibration process. In these examples, the system identification tagmay be retrievable by either system via the wireless data transmissionsystem.

Illustrative Method

This section describes a method for automatically calibrating an onboardscale using an in-ground scale and a data exchange system; see FIG. 2.Aspects of automatic scale calibration systems in accordance withaspects of the present disclosure may be utilized in the method stepsdescribed below. Where appropriate, reference may be made to previouslydescribed components and systems that may be used in carrying out eachstep. These references are for illustration, and are not intended tolimit the possible ways of carrying out any particular step of themethod.

FIG. 2 is a flowchart illustrating steps performed in an illustrativemethod, and may not recite the complete process. FIG. 2 depicts multiplesteps of a method, generally indicated at 200, which may be performed inconjunction with automatic scale calibration systems according toaspects of the present disclosure. Although various steps of method 200are described below and depicted in FIG. 2, the steps need notnecessarily all be performed, and in some cases may be performed in adifferent order than the order shown.

At step 202, a tractor-trailer or other suitable vehicle may be placedonto a reference scale (e.g., an in-ground scale). For example, thevehicle (e.g., vehicle 102) may be driven onto load cells or pads (e.g.,portions 118, 120, 122) of an in-ground scale (e.g., scale 104) locatedat a weighing facility.

At step 204, the weight of the tractor-trailer, or a portion thereof,may be determined by the reference/in-ground scale. Determining theweight may include determining information corresponding to the weight(also referred to as weight information).

At step 206, the weight information determined in step 204 may becommunicated to a scale onboard the vehicle (e.g., scale 114 and/orscale 116). Communication transceivers (or transmitters and receivers)associated with the in-ground scale and the onboard scale may linktogether or form part of a communications network, such that data may betransmitted between the devices wirelessly (see, e.g., transceivers 126,128, 130). Because this weight data is obtained using astandards-compliant and calibrated in-ground scale, the weightinformation may be referred to as reference data or reference weight.

In some examples, the onboard scale control system may request thereference data from the in-ground scale system (e.g., a “pull” system).In some examples, the in-ground scale system may send the reference datato the onboard scale without first receiving a request (e.g., a “push”system). In either of these examples, data transfer may be performedautomatically upon availability, or upon some sort of user action, suchas pressing a data transfer request button, to initiate thecommunication. In some examples, data transfer may include exchangingunique identifiers for each device involved, such that records may bestored, associated, and/or communicated regarding the identity of thein-ground scale and/or the onboard scale.

At step 208, the reference weight information communicated to theonboard scale in step 206 may be used to calibrate the onboard scale.For example, a request to calibrate may be communicated to a user of thesystem. The user (e.g., the vehicle driver) may respond by initiatingcalibration, thereby allowing the system to adjust the onboard scale tocorrespond to the in-ground scale. In some examples, permission orauthorization for automatic calibration may be provided remotely, suchas by a dispatcher over a communication network. In some examples,calibration may be automatic, without user intervention. In someexamples, calibration may take place after a time delay configured toallow a user to manually abort the process. In some examples, weightdata from the in-ground scale may be displayed for informationalpurposes.

More specifically, in some examples, step 208 may include proceedingwith scale calibration only upon receipt of a request to calibrate thescale. In some examples, step 208 may include proceeding with scalecalibration in response to receipt of the reference information fromstep 204. In some examples, the system may be transitionable between afirst mode, in which automatic calibration of the scale proceeds inresponse to receipt of the reference information, and a second mode, inwhich automatic calibration of the scale proceeds only in response to auser calibration request.

Weights may be taken with the vehicle in multiple different conditionsto provide accuracy over a range of weights. For example, in a firstloading condition of the vehicle (e.g., empty), the onboard scale mayprovide a first sensed weight and the in-ground scale may provide afirst ground weight. Similarly, in a second loading condition of thevehicle (e.g., fully loaded), the onboard scale may provide a secondsensed weight and the in-ground scale a second ground weight.Accordingly, automatically calibrating the scale using the referenceinformation causes the scale to convert the sensed weight to the groundweight over a range comprising the first ground weight and the secondground weight.

Illustrative Data Processing System

As shown in FIG. 3, this example describes a data processing system 300(also referred to as a computer) in accordance with aspects of thepresent disclosure. In this example, data processing system 300 is anillustrative data processing system suitable for implementing aspects ofthe automatic scale calibration system for onboard scales. Morespecifically, in some examples, devices that are embodiments of dataprocessing systems (e.g., smartphones, tablets, personal computers)and/or aspects of data processing systems (storage devices, etc.) mayinclude or implement aspects of data exchange system 106, onboarddigital scales 114, 116, controller 124, and/or control modules 132A,132B.

In this illustrative example, data processing system 300 includescommunications framework 302. Communications framework 302 providescommunications between processor unit 304, memory 306, persistentstorage 308, communications unit 310, input/output (I/O) unit 312, anddisplay 314. Memory 306, persistent storage 308, communications unit310, input/output (I/O) unit 312, and display 314 are examples ofresources accessible by processor unit 304 via communications framework302.

Processor unit 304 serves to run instructions that may be loaded intomemory 306. Processor unit 304 may be a number of processors, amulti-processor core, or some other type of processor, depending on theparticular implementation. Further, processor unit 304 may beimplemented using a number of heterogeneous processor systems in which amain processor is present with secondary processors on a single chip. Asanother illustrative example, processor unit 304 may be a symmetricmulti-processor system containing multiple processors of the same type.

Memory 306 and persistent storage 308 are examples of storage devices316. A storage device is any piece of hardware that is capable ofstoring information, such as, for example, without limitation, data,program code in functional form, and other suitable information eitheron a temporary basis or a permanent basis.

Storage devices 316 also may be referred to as computer-readable storagedevices in these examples. Memory 306, in these examples, may be, forexample, a random access memory or any other suitable volatile ornon-volatile storage device. Persistent storage 308 may take variousforms, depending on the particular implementation.

For example, persistent storage 308 may contain one or more componentsor devices. For example, persistent storage 308 may be a hard drive, aflash memory, a rewritable optical disk, a rewritable magnetic tape, orsome combination of the above. The media used by persistent storage 308also may be removable. For example, a removable hard drive may be usedfor persistent storage 308.

Communications unit 310, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 310 is a network interface card. Communications unit310 may provide communications through the use of either or bothphysical and wireless communications links.

Input/output (I/O) unit 312 allows for input and output of data withother devices that may be connected to data processing system 300. Forexample, input/output (I/O) unit 312 may provide a connection for userinput through a keyboard, a mouse, and/or some other suitable inputdevice. Further, input/output (I/O) unit 312 may send output to aprinter. Display 314 provides a mechanism to display information to auser.

Instructions for the operating system, applications, and/or programs maybe located in storage devices 316, which are in communication withprocessor unit 304 through communications framework 302. In theseillustrative examples, the instructions are in a functional form onpersistent storage 308. These instructions may be loaded into memory 306for execution by processor unit 304. The processes of the differentembodiments may be performed by processor unit 304 usingcomputer-implemented instructions, which may be located in a memory,such as memory 306.

These instructions are referred to as program instructions, programcode, computer usable program code, or computer-readable program codethat may be read and executed by a processor in processor unit 304. Theprogram code in the different embodiments may be embodied on differentphysical or computer-readable storage media, such as memory 306 orpersistent storage 308.

Program code 318 is located in a functional form on computer-readablemedia 320 that is selectively removable and may be loaded onto ortransferred to data processing system 300 for execution by processorunit 304. Program code 318 and computer-readable media 320 form computerprogram product 322 in these examples. In one example, computer-readablemedia 320 may be computer-readable storage media 324 orcomputer-readable signal media 326.

Computer-readable storage media 324 may include, for example, an opticalor magnetic disk that is inserted or placed into a drive or other devicethat is part of persistent storage 308 for transfer onto a storagedevice, such as a hard drive, that is part of persistent storage 308.Computer-readable storage media 324 also may take the form of apersistent storage, such as a hard drive, a thumb drive, or a flashmemory, that is connected to data processing system 300. In someinstances, computer-readable storage media 324 may not be removable fromdata processing system 300.

In these examples, computer-readable storage media 324 is a physical ortangible storage device used to store program code 318 rather than amedium that propagates or transmits program code 318. Computer-readablestorage media 324 is also referred to as a computer-readable tangiblestorage device or a computer-readable physical storage device. In otherwords, computer-readable storage media 324 is a media that can betouched by a person.

Alternatively, program code 318 may be transferred to data processingsystem 300 using computer-readable signal media 326. Computer-readablesignal media 326 may be, for example, a propagated data signalcontaining program code 318. For example, computer-readable signal media326 may be an electromagnetic signal, an optical signal, and/or anyother suitable type of signal. These signals may be transmitted overcommunications links, such as wireless communications links, opticalfiber cable, coaxial cable, a wire, and/or any other suitable type ofcommunications link. In other words, the communications link and/or theconnection may be physical or wireless in the illustrative examples.

In some illustrative embodiments, program code 318 may be downloadedover a network to persistent storage 308 from another device or dataprocessing system through computer-readable signal media 326 for usewithin data processing system 300. For instance, program code stored ina computer-readable storage medium in a server data processing systemmay be downloaded over a network from the server to data processingsystem 300. The data processing system providing program code 318 may bea server computer, a client computer, or some other device capable ofstoring and transmitting program code 318.

The different components illustrated for data processing system 300 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to and/or in place of those illustrated for dataprocessing system 300. Other components shown in FIG. 3 can be variedfrom the illustrative examples shown. The different embodiments may beimplemented using any hardware device or system capable of runningprogram code. As one example, data processing system 300 may includeorganic components integrated with inorganic components and/or may becomprised entirely of organic components excluding a human being. Forexample, a storage device may be comprised of an organic semiconductor.

In another illustrative example, processor unit 304 may take the form ofa hardware unit that has circuits that are manufactured or configuredfor a particular use. This type of hardware may perform operationswithout needing program code to be loaded into a memory from a storagedevice to be configured to perform the operations.

For example, when processor unit 304 takes the form of a hardware unit,processor unit 304 may be a circuit system, an application specificintegrated circuit (ASIC), a programmable logic device, or some othersuitable type of hardware configured to perform a number of operations.With a programmable logic device, the device is configured to performthe number of operations. The device may be reconfigured at a later timeor may be permanently configured to perform the number of operations.Examples of programmable logic devices include, for example, aprogrammable logic array, a field programmable logic array, a fieldprogrammable gate array, and other suitable hardware devices. With thistype of implementation, program code 318 may be omitted, because theprocesses for the different embodiments are implemented in a hardwareunit.

In still another illustrative example, processor unit 304 may beimplemented using a combination of processors found in computers andhardware units. Processor unit 304 may have a number of hardware unitsand a number of processors that are configured to run program code 318.With this depicted example, some of the processes may be implemented inthe number of hardware units, while other processes may be implementedin the number of processors.

In another example, a bus system may be used to implement communicationsframework 302 and may be comprised of one or more buses, such as asystem bus or an input/output bus. Of course, the bus system may beimplemented using any suitable type of architecture that provides for atransfer of data between different components or devices attached to thebus system.

Additionally, communications unit 310 may include a number of devicesthat transmit data, receive data, or both transmit and receive data.Communications unit 310 may be, for example, a modem or a networkadapter, two network adapters, or some combination thereof. Further, amemory may be, for example, memory 306, or a cache, such as that foundin an interface and memory controller hub that may be present incommunications framework 302.

The flowcharts and block diagrams described herein illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousillustrative embodiments. In this regard, each block in the flowchartsor block diagrams may represent a module, segment, or portion of code,which comprises one or more executable instructions for implementing thespecified logical function or functions. It should also be noted that,in some alternative implementations, the functions noted in a block mayoccur out of the order noted in the drawings. For example, the functionsof two blocks shown in succession may be executed substantiallyconcurrently, or the functions of the blocks may sometimes be executedin the reverse order, depending upon the functionality involved.

Illustrative Computer Network

As shown in FIG. 4, this example describes a general network dataprocessing system 400, interchangeably termed a network, a computernetwork, a network system, or a distributed network, aspects of whichmay be included in one or more illustrative embodiments of an automaticscale calibration system. For example, aspects of data exchange system106 may communicate over and/or be part of a computer network. It shouldbe appreciated that FIG. 4 is provided as an illustration of oneimplementation and is not intended to imply any limitation with regardto environments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Network data processing system 400 is a network of computers, each ofwhich is an example of data processing system 300, and other components.Network data processing system 400 may include network 402, which is amedium configured to provide communications links between variousdevices and computers connected together within network data processingsystem 400. Network 402 may include connections such as wired orwireless communication links, fiber optic cables, and/or any othersuitable medium for transmitting and/or communicating data betweennetwork devices, or any combination thereof.

In the depicted example, a first network device 404 and a second networkdevice 406 connect to network 402, as does an electronic storage device408. Network devices 404 and 406 are each examples of data processingsystem 300, described above. In the depicted example, devices 404 and406 are shown as server computers. However, network devices may include,without limitation, one or more personal computers, mobile computingdevices such as personal digital assistants (PDAs), tablets, and smartphones, handheld gaming devices, wearable devices, tablet computers,routers, switches, voice gates, servers, electronic storage devices,imaging devices, and/or other networked-enabled tools that may perform amechanical or other function. These network devices may beinterconnected through wired, wireless, optical, and other appropriatecommunication links.

In addition, client electronic devices, such as a client computer 410, aclient laptop or tablet 412, and/or a client smart device 414, mayconnect to network 402. Each of these devices is an example of dataprocessing system 300, described above regarding FIG. 3. Clientelectronic devices 410, 412, and 414 may include, for example, one ormore personal computers, network computers, and/or mobile computingdevices such as personal digital assistants (PDAs), smart phones,handheld gaming devices, wearable devices, and/or tablet computers, andthe like. In the depicted example, server 404 provides information, suchas boot files, operating system images, and applications to one or moreof client electronic devices 410, 412, and 414. Client electronicdevices 410, 412, and 414 may be referred to as “clients” with respectto a server such as server computer 404. Network data processing system400 may include more or fewer servers and clients or no servers orclients, as well as other devices not shown.

Client smart device 414 may include any suitable portable electronicdevice capable of wireless communications and execution of software,such as a smartphone or a tablet. Generally speaking, the term“smartphone” may describe any suitable portable electronic device havingmore advanced computing ability and network connectivity than a typicalmobile phone. In addition to making phone calls (e.g., over a cellularnetwork), smartphones may be capable of sending and receiving emails,texts, and multimedia messages, accessing the Internet, and/orfunctioning as a web browser. Smartdevices (e.g., smartphones) may alsoinclude features of other known electronic devices, such as a mediaplayer, personal digital assistant, digital camera, video camera, and/orglobal positioning system. Smartdevices (e.g., smartphones) may becapable of connecting with other smartdevices, computers, or electronicdevices wirelessly, such as through near field communications (NFC),BLUETOOTH®, WiFi, or mobile broadband networks. Wireless connectivelymay be established among smartdevices, smartphones, computers, and otherdevices to form a mobile network where information can be exchanged.

Program code located in system 400 may be stored in or on a computerrecordable storage medium, such as persistent storage 308 in Example 1,and may be downloaded to a data processing system or other device foruse. For example, program code may be stored on a computer recordablestorage medium on server computer 404 and downloaded for use to client410 over network 402 for use on client 410.

Network data processing system 400 may be implemented as one or more ofa number of different types of networks. For example, system 400 mayinclude an intranet, a local area network (LAN), a wide area network(WAN), or a personal area network (PAN). In some examples, network dataprocessing system 400 includes the Internet, with network 402representing a worldwide collection of networks and gateways that usethe transmission control protocol/Internet protocol (TCP/IP) suite ofprotocols to communicate with one another. At the heart of the Internetis a backbone of high-speed data communication lines between major nodesor host computers. Thousands of commercial, governmental, educationaland other computer systems may be utilized to route data and messages.FIG. 4 is intended as an example, and not as an architectural limitationfor any illustrative embodiments.

Additional Examples and Illustrative Combinations

This section describes additional aspects and features of automaticscale calibration systems and related methods, presented withoutlimitation as a series of paragraphs, some or all of which may bealphanumerically designated for clarity and efficiency. Each of theseparagraphs can be combined with one or more other paragraphs, and/orwith disclosure from elsewhere in this application, including thematerials incorporated by reference in the Cross-References, in anysuitable manner. Some of the paragraphs below expressly refer to andfurther limit other paragraphs, providing without limitation examples ofsome of the suitable combinations.

A0. An automatic calibration system for an onboard vehicle scale, thesystem comprising:

a scale coupled to a vehicle, such that the scale travels with thevehicle, the scale configured to determine a sensed weight of a portionof the vehicle;

a wireless transceiver onboard the vehicle and in communication with thescale; and

an onboard controller in communication with the scale and the wirelesstransceiver, the controller including a processor, a memory, and aplurality of instructions stored in the memory and executable by theprocessor to:

receive the sensed weight of the portion of the vehicle from the scale;

receive reference information from an offboard source via the wirelesstransceiver, wherein the reference information corresponds to a groundweight of the portion of the vehicle; and

automatically calibrate the scale using the reference information, suchthat the scale is configured to convert the sensed weight to the groundweight.

A1. The system of A0, wherein the offboard source comprises an in-groundscale.

A2. The system of A1, wherein the in-ground scale comprises a pluralityof scale pads, and the reference information corresponds to the groundweight of the portion of the vehicle as detected by one of the scalepads.

A3. The system of A0, wherein the sensed weight corresponds to a driveaxle of the vehicle.

A4. The system of A0, wherein the scale is coupled to an axle of thevehicle.

A5. The system of A0, wherein the scale is coupled to a suspensionsystem of the vehicle.

A6. The system of A0, wherein the plurality of instructions are furtherexecutable by the processor to proceed with scale calibration only uponreceipt of a request to calibrate the scale.

A7. The system of A0, wherein the plurality of instructions are furtherexecutable by the processor to automatically proceed with scalecalibration in response to receipt of the reference information.

A8. The system of A7, wherein scale calibration automatically proceedsafter a selected time delay.

A9. The system of A0, wherein the controller is transitionable between afirst mode, in which automatic calibration of the scale proceeds inresponse to receipt of the reference information, and a second mode, inwhich automatic calibration of the scale proceeds only in response to auser calibration request.

A10. The system of A0, wherein the sensed weight comprises a firstsensed weight at a first loading condition of the vehicle and a secondsensed weight at a second loading condition of the vehicle; wherein thereference information corresponds to a first ground weight at the firstloading condition and a second ground weight at the second loadingcondition; and wherein automatically calibrating the scale using thereference information causes the scale to convert the sensed weight tothe ground weight over a range comprising the first ground weight andthe second ground weight.

B0. A method implemented in a data processing system for calibrating anonboard vehicle scale, the method comprising:

receiving, into a data processing system, a sensed weight of a portionof a vehicle from a first scale;

receiving, into the data processing system, reference information froman offboard source via a wireless transceiver, wherein the referenceinformation corresponds to a ground weight of the portion of thevehicle; and

automatically calibrating the scale with respect to the referenceinformation, using a processor of the data processing system, such thatthe scale is configured to convert the sensed weight to the groundweight.

B1. The method of B0, wherein the offboard source comprises aground-based scale and the vehicle is currently disposed on theground-based scale.

B2. The method of B1, wherein the ground-based scale comprises aplurality of scale pads, and the reference information corresponds tothe ground weight of the portion of the vehicle as detected by one ofthe scale pads.

B3. The method of B0, wherein the sensed weight corresponds to a driveaxle of the vehicle.

B4. The method of B0, wherein the scale is coupled to an axle of thevehicle.

B5. The method of B0, wherein the scale is coupled to a suspensionmethod of the vehicle.

B6. The method of B0, wherein automatically calibrating the scale onlyoccurs upon receipt of a request, by the processor, to calibrate thescale.

B7. The method of B0, wherein automatically calibrating the scale isperformed by the processor in response to receipt of the referenceinformation.

B8. The method of B7, wherein scale calibration automatically proceedsafter a selected time delay.

B9. The method of B0, further comprising:

transitioning the data processing system between a first mode, in whichautomatic calibration of the scale proceeds in response to receipt ofthe reference information, and a second mode, in which automaticcalibration of the scale proceeds only in response to a user calibrationrequest.

B10. The method of B0, wherein the sensed weight comprises a firstsensed weight at a first loading condition of the vehicle and a secondsensed weight at a second loading condition of the vehicle; wherein thereference information corresponds to a first ground weight at the firstloading condition and a second ground weight at the second loadingcondition; and wherein automatically calibrating the scale using thereference information causes the scale to convert the sensed weight tothe ground weight over a range comprising the first ground weight andthe second ground weight.

C0. A method for calibrating an onboard vehicle scale, the methodcomprising:

disposing a vehicle upon a reference (e.g., an in-ground) scale;

determining reference weight information corresponding to a weight of atleast a portion of the vehicle using the reference scale;

automatically and wirelessly communicating the reference weightinformation to an onboard scale coupled to the vehicle; and

automatically calibrating the onboard scale using the reference weightinformation.

C1. The method of C0, wherein automatically calibrating the onboardscale is performed only upon receipt of a request to calibrate thescale.

C2. The method of C0, further comprising:

requesting the reference weight information from the in-ground scaleusing a control system of the onboard scale.

C3. The method of C0, wherein communicating reference weight informationto the onboard scale includes transmitting a unique identifier of thein-ground scale to a controller of the onboard scale.

CONCLUSION

The disclosure set forth above may encompass multiple distinct exampleswith independent utility. Although each of these has been disclosed inits preferred form(s), the specific embodiments thereof as disclosed andillustrated herein are not to be considered in a limiting sense, becausenumerous variations are possible. To the extent that section headingsare used within this disclosure, such headings are for organizationalpurposes only. The subject matter of the disclosure includes all noveland nonobvious combinations and subcombinations of the various elements,features, functions, and/or properties disclosed herein. The followingclaims particularly point out certain combinations and subcombinationsregarded as novel and nonobvious. Other combinations and subcombinationsof features, functions, elements, and/or properties may be claimed inapplications claiming priority from this or a related application. Suchclaims, whether broader, narrower, equal, or different in scope to theoriginal claims, also are regarded as included within the subject matterof the present disclosure.

What is claimed is:
 1. A method for calibrating an onboard vehiclescale, the method comprising: disposing a vehicle upon a referencescale; determining reference weight information corresponding to aweight of at least a portion of the vehicle as measured by the referencescale; automatically and wirelessly communicating, via a wirelesstransceiver unit of the reference scale, the reference weightinformation to an onboard scale coupled to the vehicle; andautomatically calibrating the onboard scale using the reference weightinformation such that the weight of the at least a portion of thevehicle corresponds to a sensed weight of the at least a portion of thevehicle as measured by the onboard scale.
 2. The method of claim 1,wherein automatically calibrating the onboard scale is performed onlyupon receipt of a request to calibrate the scale.
 3. The method of claim1, further comprising: wirelessly requesting the reference weightinformation from the reference scale using a control system of theonboard scale.
 4. The method of claim 1, wherein communicating referenceweight information to the onboard scale includes transmitting a uniqueidentifier of the reference scale to a controller of the onboard scale.5. The method of claim 1, wherein automatically and wirelesslycommunicating the reference weight information to an onboard scalecoupled to the vehicle is performed without first receiving a request.6. The method of claim 1, wherein automatically calibrating the onboardscale using the reference weight information is performed without userintervention.